import request from '../../utils/request.js'

const COUNT_DOWN_NUM = 60
let timer = null

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phoneNumber: '15361819220',
    isCountDown: false,
    countNum: COUNT_DOWN_NUM,
    // 用户输入的验证码
    vcode: ''
  },
  //获取用户的手机号码
  getPhoneNumber(event) {
    this.setData({
      phoneNumber: event.detail.value
    })
  },
  //获取用户输入的验证码
  getVcode(event) {
    this.setData({
      vcode: event.detail.value
    })
  },

  async queryVcode() {
    // 如果正在倒计时，不能进来
    if (this.data.isCountDown) {
      return
    }
    //如果手机号码格式有问题提示
    if (!/^1[3456789][0-9]{9}$/.test(this.data.phoneNumber)) {
      wx.showToast({
        title: '请输入正确格式的手机号码',
        icon: 'none'
      })
      return
    }
    //从界面上来说,设置countdown状态
    this.setData({
      isCountDown: true
    })

    //开启倒计时
    timer = setInterval(() => {
      let countNum = this.data.countNum
      // 每一秒钟-1
      countNum--
      if (countNum > 0) {
        // 如果倒计时数字已经大于0，倒计时数字-1
        this.setData({
          countNum
        })
      } else {
        // 清除定时器
        clearInterval(timer)
        // 否则按钮文案为获取验证码
        this.setData({
          isCountDown: false,
          countNum: COUNT_DOWN_NUM
        })
      }
    }, 1000)

    // 发请求获取验证码
    let data = await request({
      url: '/user/vcode',
      data: {
        phone: this.data.phoneNumber
      }
    })
    // console.log(data)
    // toast显示vcode
    wx.showToast({
      title: String(data.vcode),
      icon: 'none',
      // toast显示的时长
      duration: 3000
    })
  },
  // 手机号登录
  async phoneLogin() {
    //如果手机号码格式有问题提示
    if (!/^1[3456789][0-9]{9}$/.test(this.data.phoneNumber)) {
      wx.showToast({
        title: '请输入正确格式的手机号码',
        icon: 'none'
      })
      return
    }
    //如果用户输入的验证码有问题，提示
    if (!/^[0-9]{4}$/.test(this.data.vcode)) {
      wx.showToast({
        title: '请输入正确的验证码',
        icon: 'none'
      })
      return
    }

    // 发请求
    let data = await request({
      url: '/user/login',
      method: 'POST',
      data: {
        phone: this.data.phoneNumber,
        vcode: this.data.vcode
      },
      isAuth: false
    })
    // console.log(data)
    //提示登陆成功，存token，跳转
    // 存token
    wx.setStorageSync('token', data.token)
    wx.showToast({
      title: '手机号登录成功',
      success() {
        // 跳转到首页
        wx.reLaunch({
          url: '/pages/home/home',
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})